aws_infrastructure_setup_guide
AWS 가상 인프라 구축 및 연동 실습 가이드 (VPC & EC2)
이 가이드는 광주소프트웨어마이스터고등학교(GSM) AI 해커톤 실습 가상 인프라를 직접 구축하고 설계하는 전체 프로세스를 담고 있습니다.
현재 AWS 계정에는 각 팀별로 할당된 가상 네트워크망인 VPC만 사전 구성되어 있습니다. 학생들은 본인 팀의 VPC 내부에서 서브넷, 인터넷 게이트웨이(IGW), 라우팅 테이블, 보안 방화벽을 구성하는 VPC 콘솔 작업과, 가상 서버를 가동하는 EC2 콘솔 작업을 순서대로 수행하게 됩니다.
⚠️ 실습 시작 전 필수 점검 사항 (리전 및 할당 VPC 확인)
Warning
본인에게 할당된 AWS 리전(Region) 및 VPC 확인
- AWS 웹 콘솔에 로그인한 직후, 우측 상단 리전 선택 메뉴를 클릭하여 **할당된 리전(예: 서울
ap-northeast-2또는 버지니아 북부us-east-1등)**으로 정확하게 변경합니다. - VPC 대시보드로 이동하여 본인 팀에게 배정된 사전 생성 VPC의 이름과 IPv4 CIDR 대역을 확인합니다.
- 예: VPC 이름
gsm-vpc-team01, CIDR 대역10.15.0.0/16
- 예: VPC 이름
- 리전과 할당 VPC가 맞지 않으면 실습 리소스가 서로 매핑되지 않아 접속이 불가능해집니다!
Part 1. VPC 콘솔에서 네트워크 리소스 구성하기
VPC 서비스 대시보드로 이동한 뒤, 본인 팀에 할당된 VPC 가상망 내부에 네트워크 요소를 구성하는 작업입니다.
1. 서브넷(Subnet) 생성
VPC 내부에서 가상 서버(EC2)가 실제로 위치할 하위 네트워크 공간을 만듭니다.
- 이동: VPC 콘솔 좌측 메뉴 ➡️
서브넷 (Subnets)➡️ 우측 상단서브넷 생성클릭 - VPC ID 선택: 본인 팀에게 사전 할당된 VPC (예:
gsm-vpc-01)를 정확히 선택합니다. - 서브넷 설정:
- 서브넷 이름:
gsm-subnet(혹은 지정된 이름) - 가용 영역 (AZ):
ap-northeast-2a(혹은 본인 리전의 a존) 선택 - IPv4 CIDR 블록: 본인 팀의 VPC CIDR 대역에 맞추어 하위 대역으로 설정합니다.
-
💡 예시: 내 VPC CIDR가 **
10.15.0.0/16**이라면, 서브넷 CIDR는 **10.15.1.0/24**로 입력해야 정상 생성됩니다. (대역을 벗어난 값을 적으면 범위 오류가 발생합니다.)
-
- 서브넷 이름:
- 완료: 하단
서브넷 생성버튼 클릭
2. 인터넷 게이트웨이(IGW) 생성 및 VPC 연결
서버가 외부 퍼블릭 인터넷과 양방향 데이터를 주고받을 수 있도록 통로를 엽니다.
- 이동: VPC 콘솔 좌측 메뉴 ➡️
인터넷 게이트웨이 (Internet gateways)➡️인터넷 게이트웨이 생성클릭 - 이름 태그:
gsm-igw입력 후 생성 - VPC 연결: 생성 완료 후 우측 상단
작업➡️VPC에 연결선택 ➡️ 본인 팀의 VPC 지정 후 연결 클릭 (⚠️ 매우 중요: 반드시 본인의 VPC에 게이트웨이를 연결해야 통신이 활성화됩니다.)
3. 라우팅 테이블(Route Table) 설정 및 경로 개방
서브넷에서 발생하는 트래픽이 방금 연결한 인터넷 관문(IGW)을 통해 외부 인터넷으로 나갈 수 있도록 이정표 지도를 생성합니다.
- 이동: VPC 콘솔 좌측 메뉴 ➡️
라우팅 테이블 (Route tables)➡️라우팅 테이블 생성클릭 - 설정: 이름
gsm-rt입력, VPC는 본인의 VPC 선택 후 생성 - 경로 편집: 생성된 라우팅 테이블 클릭 ➡️ 하단
라우팅 (Routes)탭 ➡️라우팅 편집클릭라우팅 추가클릭- 대상 (Destination):
0.0.0.0/0(모든 외부 인터넷 대역) 입력 - 대상 (Target):
인터넷 게이트웨이선택 후 내가 만든gsm-igw지정 변경 사항 저장클릭
- 서브넷 연결: 하단
서브넷 연결 (Subnet associations)탭 ➡️서브넷 연결 편집클릭 ➡️ 목록에서 내가 생성한gsm-subnet선택 후 연결 저장
4. 보안 그룹(Security Group) 규칙 설정
가상 서버에 들어오는 포트를 통제할 가상 방화벽을 정의합니다.
- 이동: VPC 콘솔 좌측 메뉴 ➡️
보안 그룹 (Security groups)➡️보안 그룹 생성클릭 - 설정: 보안 그룹 이름
gsm-sg-x입력, VPC는 본인의 VPC 선택 (⚠️ 매우 중요: 반드시 본인의 VPC를 지정해야 방화벽 규칙이 적용됩니다.) - 인바운드 규칙 (Inbound rules) 추가: 외부에서 내 서버로 접속할 수 있도록 포트를 엽니다.
| 유형 (Type) | 포트 범위 (Port range) | 소스 (Source) | 설명 |
|---|---|---|---|
| SSH | 22 |
0.0.0.0/0 (또는 내 IP) |
원격 터미널 접속용 |
| 사용자 지정 TCP | 8501 |
0.0.0.0/0 |
Streamlit 웹서버용 |
| HTTP | 80 |
0.0.0.0/0 |
기본 웹 포트 |
| HTTPS | 443 |
0.0.0.0/0 |
보안 웹 포트 |
- 완료: 하단
보안 그룹 생성클릭
Part 2. EC2 콘솔에서 가상 서버(EC2) 구성하기
VPC 콘솔에서 가상 네트워크 설정을 마쳤다면, 이제 EC2 대시보드로 이동하여 가상 머신을 생성하고 연동합니다.
1. 인스턴스 시작 및 OS 지정
- 이동: EC2 콘솔 ➡️
인스턴스 시작 (Launch instance)클릭 - 이름:
gsm-team-01(자유롭게 지정) - OS 이미지 (AMI):
Ubuntu선택 ➡️Ubuntu Server 24.04 LTS (HVM) (x86_64)선택 - 인스턴스 유형:
t3.medium선택 (2 vCPU, 4GB Memory - 메모리 다운 방지용 권장 사양) - 키 페어: 기존 키 페어 선택 혹은 신규 생성하여
.pem파일 다운로드 후 안전 보관
2. 네트워크 및 보안 매핑 (중요)
- 네트워크 설정 우측의
편집클릭 - VPC: 강사가 사전에 생성해 준 실습 전용 **
vpc**를 반드시 선택합니다. (⚠️ 매우 중요: 본인에게 배정된 리전의gsm-vpc를 정확히 대조하여 연동해야 합니다. 기본 default VPC나 엉뚱한 VPC에 매핑하면 연동이 되지 않습니다!) - 서브넷: VPC 콘솔에서 내가 직접 생성했던
gsm-pub-sub-a(Public 서브넷) 선택 - 퍼블릭 IP 자동 할당:
활성화 (Enable)필수 선택 - 방화벽(보안 그룹):
기존 보안 그룹 선택클릭 ➡️ VPC 콘솔에서 내가 직접 생성했던gsm-sg선택
3. IAM 역할 연결 및 스토리지 구성
- 디스크 설정: 기본 8GB를
20GB(혹은30GB)로 변경하고 속도가 빠른gp3타입 선택 - 맨 아래
고급 세부 정보 (Advanced details)메뉴 클릭하여 확장 - IAM 인스턴스 프로파일: Bedrock/S3 API와의 무인증 보안 통신을 위해 사전에 제공된 **
gsm-student-role**을 반드시 바인딩 - 시작: 우측 하단
인스턴스 시작클릭 후, 부팅이 완료되면 인스턴스의퍼블릭 IPv4 주소확인 및 복사
Part 3. 원격 SSH 접속 및 개발 개발 환경 진입
- 로컬 터미널에서 다운로드받은 키 페어가 있는 폴더로 이동합니다.
- 아래 명령어로 EC2 가상 머신 터미널에 접속합니다:
ssh -i <키파일명>.pem ubuntu@<EC2-퍼블릭IP-주소> - 접속 성공 후
obsidian_curriculum_page.md가이드북을 열고 RAG 소스코드 실습을 이어서 진행합니다. 🚀